package com.testing.class3;

import com.testing.web.WebKeyword;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;

/**
 * @Classname ShopBuyTest
 * @Description 类型说明
 * @Date 2022/10/10 20:08
 * @Created by 特斯汀Roy
 */
public class ShopBuyTest {
    public static void main(String[] args) {
        WebKeyword web=new WebKeyword();
        web.openBrowser("chrome");
        web.visitWeb("http://www.testingedu.com.cn:8000/");
        //登录流程。
        web.click("//a[text()='登录']");
        web.input("//input[@id='username']","13800138006");
        web.input("//input[@id='password']","123456");
        web.input("//input[@id='verify_code']","1");
        web.click("//a[@name=\"sbtbutton\"]");
        //返回商城首页
        web.click("//a[text()=\"返回商城首页\"]");

//    1.使用js语句完成点击动作，不建议
//        JavascriptExecutor runner=(JavascriptExecutor)(web.getDriver());
//        runner.executeScript("document.querySelector(\"#cata-nav > div:nth-child(2) > div.cata-nav-layer > div.cata-nav-left > div.subitems > dl:nth-child(1) > dd > a:nth-child(1)\").click()");

//        web.runJsWithEle("click()","//a[text()='半身裙']");

    //2.模拟用户操作，将鼠标悬停在服装服饰按钮上。
        web.hover("//a[text()='服装服饰']");
        System.out.println("点击之前"+web.getDriver().getWindowHandle());

        //点击半身裙之后，就有两个窗口了
        web.click("//a[text()='半身裙']");
//        System.out.println("所有的窗口是："+web.getDriver().getWindowHandles());
//        web.hover("//a[text()='服装服饰']");
//        web.click("//a[text()='短裤']");
//        System.out.println("所有的窗口是："+web.getDriver().getWindowHandles());
//        web.hover("//a[text()='服装服饰']");
//        web.click("//a[text()='牛仔裤']");
        web.halt("2");
        System.out.println("所有的窗口是："+web.getDriver().getWindowHandles());
        //切换到第2个窗口
        web.switchWindowByIndex("2");

//        web.switchWindow("商品列表");

        //随便点一个加入购物车。(//ul/li[3]//a[text()='加入购物车']这是第3个)
        web.click("//a[text()='加入购物车']");
        web.switchFrame("layui-layer-iframe1");
        web.click("//a[text()='去购物车结算']");
        web.click("//a[text()='去结算']");

        //使用window进行指定坐标的滚动。
//        web.runJsScript("window.scrollTo(0,500)");
//        web.halt("2");
//        //将元素滚动到页面范围之内
//        web.runJsWithEle("scrollIntoView()","//button[contains(text(),'提交订单')]");

        //实际上大部分网页，浏览器是可以自己完成滚动操作的。
        web.click("//button[contains(text(),'提交订单')]");

        web.assertEleText(".erhuh>h3","提交成功");
        web.halt("3");

        web.closeBrowser();



    }


}
